package com.feixiang.feixiangagent.tools;


import cn.hutool.core.io.FileUtil;
import com.feixiang.feixiangagent.constant.FIleConstant;
import org.springframework.ai.tool.annotation.Tool;
import org.springframework.ai.tool.annotation.ToolParam;

/**
 * 文件操作工具类(提供文件读写功能)
 */
public class FileOperationTool {

    private  final String FILE_PATH = FIleConstant.FILE_SAVE_PATH + "/file";
    @Tool(description = "Read content from a file")
    public String readFile(@ToolParam(description = "Name of file to read") String fileName){
        String filePath = FILE_PATH + "/" + fileName;
        try  {
            return FileUtil.readUtf8String(filePath);
        } catch (Exception e) {
            return "Error reading file" + e.getMessage();
        }
    }
    @Tool(description = "Write content to a file")
    public String writeFile(
            @ToolParam(description = "Name of the file to write") String fileName,
            @ToolParam(description = "Content to write to the file") String content) {
        String filePath = FILE_PATH + "/" + fileName;
        //创建目录
        FileUtil.mkdir(FILE_PATH);
        try {
            FileUtil.writeUtf8String(content, filePath);
            return "File written successfully to" + filePath;
        } catch (Exception e) {
            return "Error writing file" + e.getMessage();
        }
    }
}
